# coding=utf-8
import json
import yaml

# 尝试从数据库读取需要的数据，组成yml文件，然后自动审批在途流程
class Build_Yml_File:
    def build(self, json_dict, save_path):
        if not isinstance(json_dict,dict):
            json_dict = json.loads(json_dict)
        # 通过数据库查询到数据，组装yaml
        json_dict = {'initiate_process': [['匹配到唯一步骤，分支条件“单人会签”', {'module_name': '发起明确路径_自动归档匹配到责任人', 'user': 'admin',
                                                          'form_values': [['文本框', '单人会签']],
                                                          'step_cc_list': ['曾斌', '蒋与杨'], 'branch_names': ['结束'],
                                                          'step_auditor': [
                                                              {'step_name': '单人审批允许跳过，抄送发起人', 'auditor': ['李乾芳']}]},
                                   {'code': 1, 'message': '', 'detailMessage': '', 'success': 1}]], 'create_user': [
            ['创建用户', {
                'data': 'code=wup&name=%E5%90%B4%E9%B9%8F&pwd=1&phone=&email=&is_sys_admin=0&is_disabled=0&orgs%5B0%5D%5Borg_id%5D=11B11DB4-E907-4F1F-8835-B9DAAB6E1F23&orgs%5B0%5D%5Bis_default%5D=1'},
             {'name': 'BusinessException', 'message': '账号重复。', 'code': 20000, 'status': 200, 'modelProp': 'code'}]]}
        dict2str = json.dumps(json_dict)  # dict转成字符
        str2yaml = yaml.load(dict2str)  # 将字符转yaml
        save_path = 'C:/demos.yml'
        stream = open(save_path, 'w')
        yaml.safe_dump(str2yaml, stream, default_flow_style=False, allow_unicode=True)  # 输出到文件中

    def query(self):
        pass